// 使用vue实例实现组件、数据和视图层的链接
// 下载引入vue
import Vue from 'vue'
// 需要让webpack识别vue文件，需要下载vue-loader包  -- 脚手架自带
// 引入根组件
import App from '@/App.vue'
// 引入富文本编辑器
import VueQuillEditor from 'vue-quill-editor'
// require styles 富文本的编辑样式
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
// 引入路由模块
import router from '@/router/router.js'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import '@/styles/index.less'
// 挂载到Vue上，所有实例都可以使用
Vue.use(VueQuillEditor)
Vue.use(ElementUI)

Vue.config.productionTip = false
// 添加路由导航守卫
// 正如其名，vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航
router.beforeEach((to, from, next) => {
  //   console.log(to, 'asdasda')
  //   console.log(from)
  var token = localStorage.getItem('dwxProject')
  // 如果有token路由跳转应该被允许，从登陆页面发出的路由跳转页应该被允许
  // 如果没有token值，除非你去登陆，否则都应该重定向到登陆  --  老师
  if (token || to.path === '/login') {
    next()
  } else if (!token && to.path !== '/login') {
    // 如果没有则直接跳转登录页面，但如果是跳转到登录页面，应该允许跳转
    next({
      name: 'Login'
    })
  }
})

// 构建实例
new Vue({
  el: '#app',
  // 注入路由
  router,
  render: (dwx) => {
    return dwx(App)
  }
})
